#!/bin/bash

service_name="api-2.7.3.jar"

if [ "$1" = "" ];then
  echo -e "\033[0;31m 未输入操作命令 \033[0m \033[0;34m {start|stop|restart|status} \033[0m"
  exit 1
fi

function start()
{
  count=`ps -ef|grep java|grep $service_name|grep -v grep|wc -l`
  if [ $count != 0 ];then
    echo "$service_name is running"
  else
    nohup java -jar -Xms1024m $service_name > /dev/null 2>$1 &
  fi
}

function stop()
{
  echo "Stop $service_name"
  pid=`ps -ef|grep java|grep $service_name|grep -v grep|awk '{print $2}'`
  count=`ps -ef|grep java|grep $service_name|grep -v grep|wc -l`
  if [ $count!=0 ];then
      kill $pid
      count=`ps -ef|grep java|grep $service_name|grep -v grep|wc -l`
      pid=`ps -ef|grep java|grep $service_name|grep -v grep|awk '{print $2}'`
      kill -9 $pid
  fi
}

function restart()
{
  stop
  sleep 2
  start
}

function status()
{
  count=`ps -ef|grep java|grep $service_name|grep -v grep|wc -l`
  if [ $count != 0 ];then
    echo "$service_name is running"
  else
    echo "$service_name is not running"
  fi
}

case $1 in
  start)
    start;;
  stop)
    stop;;
  restart)
    restart;;
  status)
    status;;
  *)

echo -e "\033[0;31m Usage: \033[0m \033[0;34m sh $0 {start|stop|restart|status} \033[0m \033[0;31m Example: \033[0m \033[0;33m sh $0 start \033[0m"
esac